/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  dev
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      reactingCloud1Properties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

type    thermoCloud;

solution
{
    active          true;
    coupled         true;
    transient       yes;
    cellValueSourceCorrection on;
    maxCo           0.3;

    sourceTerms
    {
        schemes
        {
            rho             explicit 1;
            U               explicit 1;
            Yi              explicit 1;
            h               explicit 1;
            radiation       explicit 1;
        }
    }

    interpolationSchemes
    {
        alphaRho            cell;
        U                   cellPoint;
        thermo:mu           cell;
        p                   cell;
        T                   cell;
        Cp                  cell;
        kappa               cell;
    }

    integrationSchemes
    {
        U               Euler;
        T               analytical;
    }
}


constantProperties
{
    rho0            2500;
    T0              1000;
    Cp0             400;

    poissonsRatio 1.0;
    youngsModulus 7e10;
}


subModels
{
    particleForces
    {
        sphereDrag;
        gravity;
    }

    injectionModels
    {
        model1
        {
            type            patchInjection;
            massTotal       10;
            parcelBasisType mass;
            SOI             0;
            patchName       inlet;
            duration        0.025;
            parcelsPerSecond 1e5;
            U0              (1041 0 0);
            flowRateProfile constant 1;
            sizeDistribution
            {
                type        general;
                generalDistribution
                {
                    distribution
                    (
                        (0              0.1272)
                        (4.16667e-05    6.1634)
                        (8.33333e-05    9.4778)
                        (0.000125       9.5806)
                        (0.000166667    9.4184)
                        (0.000208333    9.0926)
                        (0.00025        8.7011)
                        (0.000291667    8.2239)
                        (0.000333333    8.0401)
                        (0.000375       8.8450)
                        (0.000416667    8.9174)
                        (0.000458333    8.8688)
                        (0.0005         8.8882)
                        (0.000541667    8.6923)
                        (0.000583333    8.0014)
                        (0.000625       7.2582)
                        (0.000666667    7.2757)
                        (0.000708333    6.9680)
                        (0.00075        6.7608)
                        (0.000791667    6.6502)
                        (0.000833333    6.7695)
                        (0.000875       5.5774)
                        (0.000916667    4.8649)
                        (0.000958333    5.0805)
                        (0.001          4.9547)
                        (0.00104167     4.5613)
                        (0.00108333     4.4536)
                        (0.001125       5.2651)
                        (0.00116667     5.2560)
                        (0.00120833     5.1737)
                        (0.00125        3.9213)
                        (0.001251       0.0000)
                        (1000           0.0000)
                    );
                }
            }
        }
    }

    dispersionModel none;

    collisionModel none;

    patchInteractionModel standardWallInteraction;

    heatTransferModel none;

    compositionModel singlePhaseMixture;

    phaseChangeModel none;

    devolatilisationModel none;

    surfaceReactionModel none;

    stochasticCollisionModel none;

    surfaceFilmModel none;

    radiation       off;

    pairCollisionCoeffs
    {
        // Maximum possible particle diameter expected at any time
        maxInteractionDistance  0.006;

        writeReferredParticleCloud no;

        pairModel pairSpringSliderDashpot;

        pairSpringSliderDashpotCoeffs
        {
            useEquivalentSize   no;
            alpha               0.12;
            b                   1.5;
            mu                  0.52;
            cohesionEnergyDensity 0;
            collisionResolutionSteps 12;
        };

        wallModel    wallLocalSpringSliderDashpot;

        wallLocalSpringSliderDashpotCoeffs
        {
            useEquivalentSize no;
            collisionResolutionSteps 12;
            walls
            {
                youngsModulus   1e10;
                poissonsRatio   0.23;
                alpha           0.12;
                b               1.5;
                mu              0.43;
                cohesionEnergyDensity 0;
            }
            frontAndBack
            {
                youngsModulus   1e10;
                poissonsRatio   0.23;
                alpha           0.12;
                b               1.5;
                mu              0.1;
                cohesionEnergyDensity 0;
            }
        }
    }
    standardWallInteractionCoeffs
    {
        type            rebound;
    }

    RanzMarshallCoeffs
    {
        BirdCorrection  off;
    }

    singlePhaseMixtureCoeffs
    {
        phases
        (
            solid
            {
                C 1;
            }
        );
//         YGasTot0        0;
//         YLiquidTot0     1;
//         YSolidTot0      0;
    }
}


cloudFunctions
{
}


// ************************************************************************* //
